package com.sg.dto.biz.bff.common;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Objects;


/**
 * @desc BffEvaTepCyclePlanDto
 * @使用场景
 */
@Data
public class BffEvaTepCyclePlanDto implements Serializable {

    /**
     * 安排周期ID
     */
    @ApiModelProperty("安排周期ID")
    private String planCycleId;

    /**
     * 被评对象目标周期ID
     */
    @ApiModelProperty("被评对象目标周期ID")
    private String evaObjTargetCycleId;

    /**
     * 周期ID
     */
    @ApiModelProperty("周期ID")
    private String cycleId;

    /**
     * 周期名称
     */
    @ApiModelProperty("周期名称")
    private String cycleStandardName;

    /**
     * 周期类型实例简称
     */
    @ApiModelProperty("周期类型实例简称")
    private String cycleNumberShortName;

    /**
     * 周期类型标识 FIVE_YEAR:五年 THREE_YEAR:三年 YEAR:年 HALF_YEAR:半年 QUARTER:季度 DOUBLE_MOONS:双月 MONTH:月 SCHOOL_YEAR:学年 IRREGULAR_CYCLE:不规则周期
     */
    @ApiModelProperty("周期类型标识")
    private String cycleTypeCode;

    /**
     * 是否要求周期安排 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否要求周期安排")
    private String isReqCycleRange;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        BffEvaTepCyclePlanDto that = (BffEvaTepCyclePlanDto) o;
        return planCycleId == that.planCycleId && evaObjTargetCycleId == that.evaObjTargetCycleId && cycleId == that.cycleId && cycleStandardName == that.cycleStandardName && cycleNumberShortName == that.cycleNumberShortName && cycleTypeCode == that.cycleTypeCode && isReqCycleRange == that.isReqCycleRange;
    }

    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), planCycleId, evaObjTargetCycleId, cycleId, cycleStandardName, cycleNumberShortName, cycleTypeCode, isReqCycleRange);
    }


}
   